// MineGUIGUI.h

#ifndef MINEGUI_H
#define MINEGUI_H

#include "MineUIInterface.h"
#include "ObserverMineGrid.h"

/**
* An interface describing
*/
class MineGUI : public MineUIInterface
{
public:
	/**
	* Constructor.
	*
	* @param grid a pointer to the model be used.
	*/
	MineGUI( ObserverMineGrid *mines ) : MineUIInterface( mines ) {}

	/**
	* Returns an action according to the input.
	*
	* @return char the action on the MineGrid.
	*/
	virtual const char getAction();

	/**
	* Returns a point according to the input.
	*
	* @return Point a point to a mine.
	*/
	virtual const Point getPoint();

	/**
	* Prints out the games ui.
	*/
	virtual const void printUI();
private:
	Point point;
};

#endif // MINEGUI_H
